package com.dcy.znoa.controller.attendance.model.apply;

/**
 * @author pengyu
 */

import com.dcy.znoa.controller.publiz.model.SelectBaseModel;
import lombok.*;

import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
// 同时需要申请表 apply 消息表 message  用户消息关联表（原公告表） mess_notice 附件表 sys_store_file 中的数据
//public class AddApplyModel extends FileModel{
public class SelectApplyModel extends SelectBaseModel {
//    @TableId(type = IdType.AUTO, value = "apply_id")
    Long applyId;//申请ID

    Long compId;//企业ID

    Long sendOperId;//申请用户id

    String eName;//对应实体表名，目前只有考勤表,可以为空。申述时不能为空

    Long eId;//对应实体表ID，可以为空；申述时不能为空

    Long receiveOperId;//接收人ID

//    
//    Integer isFinal;//是否最终审批人

    Date applyTime;//申请时间

    Date startTime;

    Date endTime;//结束时间，一般留空
    
    Integer type;//申请类型 1 请假 2 出差 3 外勤  9 申述
    /*
    * 申请子类型 :
        申请类型为
        1 请假 时，

        子类型为
        1 事假
        2 病假
        3 年休假
        4 丧假
        5 婚假
        6 调休
        7 产假
        8 陪产假
    * */
    Integer childType;

    //申述时，申请标题由后台生成，申请成，前台填写
    String title;//申请标题

//    Date auditTime;//审核时间

    Integer isAudit;//审核状态：0：未审核 1  通过 2 未通过

    Integer isRevoke;//是否已撤销 ，0为否，1为是

    //用户表
    String sendOperName;//申请用户姓名;

    String phoneNo;//电话

    Long depId;//部门ID

    Long dutyId;//职务ID

    String st;//开始时间  年月日 让前端自己加 00:00:00

    String et;//结束时间  年月日  让前端自己加 23:59:59

    String checkTime;//传入此字段时，希望查询此时间在请假的开始时间和结束时间之内   年月日  让前端自己加 23:59:59

}
